import {setStore, getStore} from '@/util/store'
import {dateFormat} from '@/util/date'
// import {sendLogs} from '@/api/user'

const logs = {
  state: {
    logsList: getStore({name: 'logsList'}) || [],
  },
  actions: {
    // SendLogs({state, commit}) {
    //   return new Promise((resolve, reject) => {
    //     sendLogs(state.logsList).then(() => {
    //       commit('CLEAR_LOGS');
    //       resolve();
    //     }).catch(error => {
    //       reject(error)
    //     })
    //   })
    // },
  },
  mutations: {
    ADD_LOGS: (state, {type, message, stack, info}) => {
      state.logsList.push(Object.assign({
        url: window.location.href,
        time: dateFormat(new Date())
      }, {
        type,
        message,
        stack,
        info: info.toString()
      }))
      setStore({name: 'logsList', content: state.logsList})
    },
    CLEAR_LOGS: (state) => {
      state.logsList = [];
      setStore({name: 'logsList', content: state.logsList})
    }
  }

};

export default logs;
